大致可分為兩類 關聯式資料庫
(SQL)以及 非關聯式資料庫
(NoSQL),主要差異在於:儲存的資料結構不同。
圖取自 How to choose a database server
以包含欄位、資料列的資料表(table)來儲存資訊。透過多個資料表的關聯性,了解資料之間的關係。
primary key
)foreign key
來建立不同資料表間的關係,產生關聯SQL 語言
做相關操作not only SQL
的意思,不使用資料表的方式儲存資料。
document
、key-value
、graph
等方式來儲存資料以下內容來自 Google Cloud databases
Google Cloud 提供各種不同資料庫的選擇:
資料庫類型 | 產品服務 |
---|---|
關聯式 | CloudSQL |
關聯式 | AlloyDB for PostgreSQL |
關聯式 | Cloud Spaner |
關聯式 | Bare Metal Solution for Oracle |
關聯式 | BigQuery |
非關聯式 (Key-value) | Cloud Bigtable |
非關聯式 (Document) | Firestore |
非關聯式 (Document) | Firebase Realtime Database |
非關聯式 (Im-memory) | Memorystore |
內容參考自 Cloud Firestore 官方文件
Firebase 最新推出的資料庫,所有資料使用 documents
和 collections
方式儲存,document
就像是 JSON 物件
,以 key-value
的形式表示 data
,而多個 document
可以被存放在 collection
中。
一個 collection (集合) 可以包含多個 document(文件),一個 document 中可以有多組 data (資料),每一筆資料皆為 key-value 的形式。
免費方案 | 可使用額度 |
---|---|
儲存資料上限 | 1 GiB |
Document 讀取 | 50,000次 / 天 |
Document 寫入 | 20,000次 / 天 |
Docuement 刪除 | 20,000次 / 天 |
再度推薦 The Cloud Girl 的插圖,以視覺化方式說明 什麽是 Firestore
、怎麼使用
、資料儲存方式
。
圖取自 The Cloud Girl
Firestore:
Which Database should I use ?
Oracle - 什麽是 NoSQL?
Choose a Database: Cloud Firestore or Realtime Database